package done.easy_201_300;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * 231. Power of Two  判断一个数是否是 2的次幂
 * 给定一个整数，编写一个函数来判断它是否是 2 的幂次方。
 * <p>
 * 示例 1:
 * 输入: 1
 * 输出: true
 * 解释: 2^0 = 1
 * 示例 2:
 * 输入: 16
 * 输出: true
 * 解释: 2^4 = 16
 *
 * @author wangxiaozhe
 */
@Slf4j
public class PowerOfTwo {

    @SuppressWarnings("all")
    public boolean isPowerOfTwo(int n) {
        // 190325 first
        return false;
    }

    @Test
    public void test() {
        //2 的 10 次方 = 1024
        log.info("result:{}", isPowerOfTwo(1024));
    }
}








































/*
public boolean isPowerOfTwo(int n) {
    // 1是2的0次幂
    if(n == 1) {
        return true;
    }
    // 2的 次幂不可能是负数
    if(n <= 0) {
        return false;
    }
    // 只要余数不是1，就继续向下判断，
    // 每次除 2 之后，判断余数不是0, 并且商必须是2的倍数
    while (n != 1) {
        // 当n不能被2整除，就一定是错的
        if(n % 2 != 0) {
            return false;
        }
        //继续向下循环
        n = n/2;
    }
    return true;
}
*/
